A programmable logic switch controls turning on and off of a logic switch (such as a transistor) in accordance with data stored in a memory. The programmable logic switch is generally used in field programmable gate arrays (FPGAs) that require reconfiguration of logical operation circuits and wiring boards. The programmable logic switch used in an FPGA includes a nonvolatile memory such as an SRAM. Therefore, the data stored in the memory is erased when the power is turned off. This results in a problem in that when the power is turned on again, the data needs to be read again from a separate memory region. Another problem is that since a typical SRAM includes six transistors, an FPGA including many SRAMs occupies a large chip area.
Using a nonvolatile flash memory as the memory of a programmable logic switch is a known method. If a flash memory transistor, for example, is used, the data is saved by the charge held in the flash memory transistor. Accordingly, when the power is turned on again, it is not necessary to read the data again from a separate memory region.
However, the gate stack structure of a nonvolatile memory transistor differs from that of a switching transistor. Accordingly, they should be formed separately. This leads to problems of increased number of processes and increased costs caused by the increased processes.
Furthermore, if a transistor having a wider channel region that requires a high breakdown voltage and a transistor with a high-performance nanowire structure are formed on a common semiconductor layer, they also have to be separately formed. This also leads to problems of increased number of processes and increased costs caused by the increased processes.